@import url("https://fonts.googleapis.com/css2?family=Montserrat&display=swap");
html {
  font-size: 62.5%;
  box-sizing: border-box;
}
body,
#root {
  height: 100vh;
  margin: 0;
}

body,
input,
select,
button,
textarea {
  font-size: 1.6rem;
  font-family: Montserrat, Arial, Helvetica, sans-serif;
}

.grid-container {
  display: grid;
  grid-template-areas: "header" "main" "footer";
  grid-template-rows: 5rem 1fr 5rem;
  grid-template-columns: 1fr;
  height: 100%;
}
a {
  text-decoration: none;
  color: black;
}

a:hover {
  color: lightcoral;
}

header {
  grid-area: header;
  background-color: lightpink;
  display: flex;
  align-items: center;
  padding: 0.5rem;
}
header a {
  color: #ffffff;
  text-decoration-line: none;
}

main {
  grid-area: main;
}
footer {
  grid-area: footer;
  background-color: lightpink;
  color: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
}

.content {
  display: flex;
  flex-wrap: wrap;
}

.main {
  flex: 3 60rem;
}

.sidebar {
  flex: 1 20rem;
}

/* products*/

.products {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style-type: none;
}

.products li {
  flex: 0 1 29rem;
  height: 47rem;
  padding: 1rem;
}

.product {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.product img {
  max-width: 37rem;
  max-height: 37rem;
}

.product-price {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.product-price div,
.product-price button {
  text-align: center;
  flex: 1;
}

.product-price div {
  font-size: 2rem;
}
.button {
  padding: 1rem;
  border: 0.1rem #c0c0c0 solid;
  background-color: #c0c0c0;
  cursor: pointer;
}
.button:hover {
  border: 0.1rem lightblue solid;
}
.button.primary {
  background-color: #ffc000;
}

/* filter*/

.filter {
  display: flex;
  justify-content: space-between;
  padding: 1rem;
  margin: 1rem;
  border-bottom: 0.1rem #c0c0c0 solid;
}

.filter div {
  flex: 1;
}

/*cart*/

.cart {
  padding: 1rem;
  margin: 1rem;
  display: flex;
}
.cart-header {
  border-bottom: 0.1rem #c0c0c0 solid;
}

.cart-items {
  padding: 0;
  width: 100%;
  list-style-type: none;
}

.cart-items img {
  width: 5rem;
}

.cart-items li {
  display: flex;
}

.cart-items li div {
  padding: 0.5rem;
}

.cart-items li div:last-child {
  flex: 1;
}
.right {
  text-align: right;
}

.total {
  display: flex;
  justify-content: space-between;
  width: 100%;
  align-items: center;
}
.total > div {
  font-size: 2rem;
}

.total > div,
.total > button {
  flex: 1;
}

/* checkout form*/
form {
  width: 100%;
}
.form-container {
  width: 100%;
  padding: 0;
  list-style-type: none;
}
.form-container li {
  display: flex;
  flex-direction: column;
  padding: 1rem;
}
input {
  padding: 1rem;
  border: 0.1rem #c0c0c0 solid;
}
